Research
Security News
Quasar RAT Disguised as an npm Package for Detecting Vulnerabilities in Ethereum Smart Contracts
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
fft library for the ml libraries.
The idea of this, another flavor of the FFT library, is to perform, Real and Complex matrix FFT and IFFT, by using only the 1D FFT algorithm. The 1D FFT and IFFT was taken and adapted from this project: [https://github.com/wellflat/javascript-labs/tree/master/cv/fft]
$ npm install ml-fft
var lib = require("ml-fft");
var FFT = lib.FFT;
var FFTUtils = lib.FFTUtils
var n = 16;
var nCols = n;
FFT.init(nCols);
var re = new Array(nCols);
var im = new Array(nCols);
for(var i=0;i<nCols;i++){
re[i]=i;
im[i]=nCols-i-1;
}
FFT.fft(re, im);
FFT.ifft(re, im);
data contains the matrix. The even rows contain the real part, the odd rows contain the imaginary part.
var n = 4;
var nRows = n;
var nCols = n;
var data = new Array(nRows*nCols);
for(var i=0;i<nRows;i++){
for(var j=0;j<nCols;j++){
data[i*nCols+j]=i+j;
}
}
var ftData = FFTUtils.fft2DArray(data, nCols, nCols);
var ftRows = nRows * 2;
var ftCols = nCols / 2 + 1;
var iftData = FFTUtils.ifft2DArray(ftData, ftRows, ftCols);
It performs the convolution in the Fourier space(multiplication) and then makes an inverse transformation of the result. The difference in performance can be tested in the BenchMark script.
var n=1024;
var data = new Uint32Array(n*n);
for(var i=0;i<n;i++){
for(var j=0;j<n;j++){
data[i*n+j]=i+j;
}
}
var kn = 21;
var kernel = new Array(kn);
for(var i=0;i<kn;i++){
kernel[i]=new Array(kn);
for(var j=0;j<kn;j++){
kernel[i][j]=i+j;
}
}
var convolutedData = FFTUtils.convolute(data, kernel, n, n);
Convert the data matrix to a radix2 2D matrix. The input data is a a single vector containing all the values of the matrix
FFTUtils.toRadix2(data, nRows, nCols);
FAQs
fft
The npm package ml-fft receives a total of 17,219 weekly downloads. As such, ml-fft popularity was classified as popular.
We found that ml-fft demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 3 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
Security News
Research
A supply chain attack on Rspack's npm packages injected cryptomining malware, potentially impacting thousands of developers.
Research
Security News
Socket researchers discovered a malware campaign on npm delivering the Skuld infostealer via typosquatted packages, exposing sensitive data.